<?php

class Usuario{
	var $db;
	var $id;	
	var $nombre;
	var $apellido;
	var $eMail;
	var $password;
	var $sexo;
	var $fechaNecimiento;
	var $foto;
	//var $ciudad;
	//var $pais;
	var $situacionSentimental;
	//var $situacionSentimentalCon;
	//var $interesSentimental;
	//var $busco;
	//var $ideologiaPolitica;
	//var $religion;
	//var $intereses;
	//var $musicaFavorita;
	//var $seriesTvFavorita;
	//var $peliculasFavoritas;
	//var $librosFavoritos;
	//var $acercaDeMi;
	//var $telefonoMovil;
	//var $telefonoFijo;
	//var $direccion;
	//var $escuelaSecundaria;
	//var $universidad;
	//var $carrera;
	//var $segundaCarrera;
	//var $empleo;
	//var $tipo;
	var $uniCod;
	var $facCod;
	
	/***********************************************
	*constructor
	***********************************************/
	function __construct($db,$id=NULL,$nombre=NULL,$apellido=NULL,$eMail=NULL,$password=NULL,$sexo=NULL,$fechaNacimiento=NULL,$foto=NULL){
		$this->db=$db;
		$this->id=$id;
		$this->nombre=$nombre;
		$this->apellido=$apellido;
		$this->eMail=$eMail;
		$this->password=$password;
		$this->sexo=$sexo;
		$this->fechaNacimiento=$fechaNacimiento;
		$this->foto=$foto;
		$this->codUni=$codUni;
		$this->codFac=$codFac;
	}
	
	/***********************************************
	* funcion getDatos
	* setea los datos de acuerdo al id
	***********************************************/
	function getDatos(){
		if($this->id!=NULL){
			$sql = 	"SELECT u.`usu_id`, u.`usu_nombre`, u.`usu_apellido`, u.`usu_eMail`, u.`usu_password`, u.`usu_sexo`, u.`usu_fecha_nacimiento`, u.`usu_situacion_sentimental`, u.`usu_foto`, u.`uni_cod`, u.`fac_cod`
					FROM usuarios u
					WHERE u.usu_id='".$this->id."'";
			//echo $sql." ";		
			$result = $this->db->query($sql);
			if ($result === false) die("failed getDatos Usuario");
			$result = $result->fetch_assoc();
			
			$this->nombre=$result['usu_nombre'];
			$this->apellido=$result['usu_apellido'];
			$this->eMail=$result['usu_eMail'];
			$this->password=$result['usu_password'];
			$this->sexo=$result['usu_sexo'];
			$this->fechaNacimiento=$result['usu_fecha_nacimiento'];
			$this->situacionSentimental=$result['usu_situacion_sentimental'];
			$this->foto=$result['usu_foto'];
			$this->uniCod=$result['uni_cod'];
			$this->facCod=$result['fac_cod'];
			
			if($result->num_rows >0)
				return true;
			else
				return false;

		}else
			return NULL;
	}
	
	/***********************************************
	* funcion getArray
	* setea los datos en un arreglo
	***********************************************/
	function getArray(){
		if($this->id!=NULL){
			$array = array();
			$array['usu_id']=$this->id;
			$array['usu_nombre']=$this->nombre;
			$array['usu_apellido']=$this->apellido;
			$array['usu_eMail']=$this->eMail;
			$array['usu_password']=$this->password;
			$array['usu_sexo']=$this->sexo;
			$array['usu_fechaNacimiento']=$this->fechaNacimiento;
			$array['usu_situacionSentimental']=$this->situacionSentimental;
			$array['usu_foto']=$this->foto;	
			$array['uni_cod']=$this->uniCod;
			$array['fac_cod']=$this->facCod;
			return $array;
		}else
			return NULL;		
	}
	
	/***********************************************
	* funcion insertar
	* inserta un registro de la base
	***********************************************/
	function insertar(){
		$sql = "
			INSERT INTO `usuarios` (
				`usu_nombre` ,
				`usu_apellido` ,
				`usu_eMail` ,
				`usu_password` ,
				`usu_sexo` ,
				`usu_fecha_nacimiento` ,
				`uni_cod` ,
				`fac_cod` 
			)VALUES (
				'".$this->nombre."',
				'".$this->apellido."',
				'".$this->eMail."',
				'".md5($this->password)."',
				'".$this->sexo."',
				STR_TO_DATE('".$this->fechaNacimiento."', '%Y-%m-%d'),
				'".$this->uniCod."',
				'".$this->facCod."'
				)";	
				//die($sql);
		$result = $this->db->query($sql);
		if($result==true)
			return true;
		else
			return false;		
	}
	
	/***********************************************
	* funcion actualizar
	* actualiza un registro de la base en base al id
	***********************************************/
	function actualizar(){
		$sql = "
			UPDATE `usuarios` SET
				`usu_nombre` = '".$this->nombre."',
				`usu_apellido` = '".$this->apellido."',
				`usu_eMail` = '".$this->eMail."',
				`usu_password` = '".$this->password."',
				`usu_sexo` = '".$this->sexo."',
				`usu_fecha_nacimiento` = STR_TO_DATE('".$this->fechaNacimiento."', '%Y-%m-%d'),
				`usu_foto` = '".$this->foto."'
			WHERE `usuarios`.`usu_id` = '".$this->id."'";	
		//die($sql);		
		$result = $this->db->query($sql);
		if($result==true)
			return true;
		else
			return false;		
	}
	
	/***********************************************
	* funcion getUsuarios
	* obtiene y devuevle una lista de los clienes
	***********************************************/
	function getClientes(){
		$lista=NULL;
		$sql = 	"SELECT u.`usu_id`, u.`usu_nombre`, u.`usu_apellido`, u.`usu_eMail`, u.`usu_password`, u.`usu_sexo`, u.`usu_fecha_nacimiento`, u.`usu_foto`
				FROM usuarios u
				ORDER BY u.`usu_nombre`";
		//echo $sql." ";		
		$result = $this->db->Execute($sql);
		if ($result === false) die("failed getUsuarios");
		$cont=0;	
		return $result->GetRows();	
	}
	
	//Getters
	function getId(){
		return $this->id;
	}
	function getNombre(){
		return $this->nombre;
	}
	function getApellido(){
		return $this->apellido;
	}
	function getEMail(){
		return $this->eMail;
	}
	function getPassword(){
		return $this->password;
	}
	function getSexo(){
		return $this->sexo;
	}
	function getFechaNacimiento(){
		return $this->fechaNacimiento;
	}
	function getFoto(){
		return $this->foto;
	}
	function getUniCod(){
		return $this->uniCod;
	}
	function getFacCod(){
		return $this->facCod;
	}
	
	
	//Setters
	function setId($id){
		$this->id=$id;
	}
	function setNombre($nombre){
		$this->nombre=$nombre;
	}
	function setApellido($apellido){
		$this->apellido=$apellido;
	}
	function setEMail($eMail){
		$this->eMail=$eMail;
	}
	function setPassword($password){
		$this->password=$password;
	}
	function setSexo($sexo){
		$this->sexo=$sexo;
	}
	function setUniCod($uniCod){
		$this->uniCod=$uniCod;
	}
	function setFechaNacimiento($fechaNacimiento){
		$this->fechaNacimiento=$fechaNacimiento;
	}
	function setFacCod($facCod){
		$this->facCod=$facCod;
	}
	function setFoto($foto){
		$this->foto=$foto;
	}
}
?>